import java.math.BigInteger;


class P10007_39643 {

	static String readLn() {
		String newLine = System.getProperty("line.separator");
		StringBuilder buffer = new StringBuilder();
		int car = -1;
		try {
			car = System.in.read();
			while ((car > 0) && (car != newLine.charAt(0))) {
				buffer.append((char) car);
				car = System.in.read();
			}
			if (car == newLine.charAt(0))
				System.in.skip(newLine.length() - 1);
		} catch (java.io.IOException e) {
			return (null);
		}
		if ((car < 0) && (buffer.length() == 0))
			return (null);
		return (buffer.toString());
	}
//		input	Result	Catalan		Catalan / result
	// 	2		4		2			2
	// 	3		30		5			6
	//	4		336		14			24
	//	5		5040	42			120
	//	6		95040	132			720
	
	public static void main(String[] args) {
		BigInteger[] fat = new BigInteger[601];
		
		fat[1] = new BigInteger("1");
		
		for (int k = 2; k <= 600; k++) {
			fat[k] = fat[k-1].multiply(new BigInteger(Integer.toString(k))); 
//			System.out.println(fat[k]);
		}
		
		BigInteger[] cat = new BigInteger[301];
		BigInteger[] column = new BigInteger[301];
		column[1] = new BigInteger("1");
		column[2] = new BigInteger("2");
		cat[1] = new BigInteger("1");
		cat[2] = new BigInteger("2");
		BigInteger[] results = new BigInteger[301];
		results[1] = new BigInteger("1");
		results[2] = new BigInteger("4");
		//		System.out.println("results ---------------");
		for (int k = 3; k <= 300; k++) {
			cat[k] = (fat[2 * k].divide(fat[k + 1].multiply(fat[k])));
			column[k] = column[k - 1].multiply(new BigInteger(Integer.toString(k)));
			results[k] = column[k].multiply(cat[k]);
//			System.out.println(results[k]);
		}
		
		while (true) {
			int i = Integer.parseInt(readLn());
			
			if (i == 0) break;
			
			System.out.println(results[i]);
			
		}
		
	}
	
}
